fix: keep artifact checksums in sync#2973
Conversation
Route LocalFile reads through the same pinned path handling used by LocalDir so symlinked source paths are rejected consistently. Add focused regression coverage for symlinked ancestor and leaf paths.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 344bb4728a
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 23168abe77
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Signed-off-by: matthewflint <277024436+matthewflint@users.noreply.github.com>
e0d869b to
9a939ce
Compare
9a939ce to
6407cd1
Compare
bb060d5 to
9f8b53c
Compare
9f8b53c to
125415c
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 125415c7ca
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
125415c to
b79ac96
Compare
|
Addressed. The artifact layer no longer deletes |
Summary
This PR is intentionally stacked on top of #2972.
On top of the safe
LocalFileopen path from that PR, this change:destfrom the artifact layer based only on source stream readsLocalFile/LocalDirregressions for checksum drift, wrapped read failures, and staged write failures preserving existing destinationsTesting
.venv/bin/python -m pytest -q tests/sandbox/test_entries.py.venv/bin/ruff check src/agents/sandbox/entries/artifacts.py tests/sandbox/test_entries.py.venv/bin/ruff format --check src/agents/sandbox/entries/artifacts.py tests/sandbox/test_entries.py.venv/bin/python -m py_compile src/agents/sandbox/entries/artifacts.py tests/sandbox/test_entries.pygit diff --check